// utils/format.js

/**
 * 格式化文件大小
 * @param {number} size 字节数
 * @param {number} [digits=2] 保留的小数位数
 * @returns {string} 格式化后的文件大小字符串
 */
export function  formatSize(size, digits = 2) {
  if (!size || size < 0) return '0 B';

  const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
  let unitIndex = 0;

  // 循环除以1024，直到大小小于1024或达到最大单位
  while (size >= 1024 && unitIndex < units.length - 1) {
    size /= 1024;
    unitIndex++;
  }

  // 根据保留位数格式化数字
  const formattedSize = size.toFixed(digits);

  // 移除末尾的0和小数点
  return `${parseFloat(formattedSize)} ${units[unitIndex]}`;
}
